#ifndef BaseMainWindow_H
#define BaseMainWindow_H

#include "ZoomButton.h"
#include "DraggableLabel.h"

#include <QMainWindow>
#include <QPushButton>
#include <QGridLayout>
#include <QLabel>
#include <QGraphicsDropShadowEffect>

#include <string>

class BaseMainWindow : public QMainWindow
{
    Q_OBJECT
public:
    QLabel *Background; // 真正存放控件的控件
    QVBoxLayout *vLayout;
    QLabel *ShowBox; // 存放控件的区域

private:
    DraggableLabel *WindowTitle;
    QPushButton *MiniButton, *CloseButton;
    ZoomButton *LeftZoom, *RightZoom, *DownZoom, *LeftDownZoom, *RightDownZoom; // 各种缩放控件
    QGraphicsDropShadowEffect *BackgroundShadow;
    QHBoxLayout *hLayout;

public:
    explicit BaseMainWindow(QWidget *parent = nullptr);
    void SetDay();
    void SetNight();
    ~BaseMainWindow();

private:
    // 这里可以添加私有成员变量，例如布局或其他控件
    void SetUILocation();
    void MyZoom(std::string &name, int w, int h);
    void SetUI();
    void SetUIFun();
    void SetUp(); // 加载变量
    void ShadowBig();
    void ShadowSmall();
};

#endif // BaseMainWindow_H